import axios from 'axios'


// axios.create可以创建一个axios实例，里面可以传入配置的参数，比如说baseURL，可能有多个，就可以创建多个axios实例
// axios本身会返回一个promise
export function request (config){
    const instance=axios.create({
        baseURL:'http://123.207.32.32:8000/',
        timeout:10000
    })

    // 配置请求拦截
    instance.interceptors.request.use(config=>{
        // 请求发送成功
        // console.log(config)
        //1.比如config中的一些信息不符合服务器要求
        //2.比如每次发送网络请求时，都希望显示一个loading的图标
        //3.比如登录，需要携带token，如果没有token，就提示登录
        //拦截后继续放行返回，如果不return config，便不会发送，也就不会请求
        return config
    },err=>{
        //请求发送失败，一般不会进入到这里，因为请求基本都能发出去，除非断网
        console.log(err)
    })


    //配置响应拦截
    instance.interceptors.response.use(res=>{
        console.log(res)
        
        //响应成功后，也得返回结果，不然客户端不会收到返回结果
        // res.data为服务器返回的数据
        return res.data
    },err=>{
        // console.log(err)
    })


    return instance(config)
}